package mdm.led.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import mdm.led.entity.InspectorList;
import mdm.led.entity.four.FourDatilsParam;
import mdm.led.entity.four.FourDetails;
import mdm.led.entity.four.FourInspector;
import mdm.led.entity.four.FourInspectorRequest;

/**
 *
 * @author :Monarch丿He
 * @date   :2018年11月2日
 * @explain : 督查四必 业务 接口
 */
public interface FourInspectorService {

	/**
	 * 添加督查表格
	 * @param fourInspector
	 * @return
	 */
	Boolean addFourInspector(FourInspector fourInspector);
	
	/**
	 * 修改督查表状态 ("删除督查表")
	 * @param id
	 * @return
	 */
	int updateFourInspectorStatus(@Param("id")Integer id);
	
	/**
	 * 查询所有可用督查表
	 * @return
	 */
	List<FourInspectorRequest> findAllFourInspector(String name);
	
	/**
	 * 根据 表id 查询单个督查表 Id
	 * @param id
	 * @return
	 */
	FourInspectorRequest findFourInspector(@Param("id")Integer id);
	
	/**
	 * 查询WEB督查列表
	 * @param name
	 * @return
	 */
	List<InspectorList> findInspectorList(@Param("name")String name);
	
	/**
	 * 查询督查详情表(如果是督查角色登录 传入 督查登录标识  部门id , 如果不是督查角色 只需要传入 用户 id)
	 * @param iRet
	 * @param sectionId
	 * @param userId
	 * @return
	 */
	List<FourDetails> findDetailsApp(FourDatilsParam fourDatilsParam);
	
	
	/**
	 * 查询督查详情表(如果是督查角色登录 传入 督查登录标识  部门id , 如果不是督查角色 只需要传入 用户 id)
	 * @param iRet
	 * @param sectionId
	 * @param userId
	 * @return
	 */
	List<FourDetails> findDetailsWeb(FourDatilsParam fourDatilsParam);
	/**
	 * 根据id 查询 督查详情表
	 * @param id
	 * @return
	 */
	FourDetails findDetailsById(Integer id);
	
	/**
	 * 填表人填写完成
	 * @param fourDetails
	 * @return
	 */
	boolean checkComplete(FourDetails fourDetails);
	
	/**
	 * 督查角色检查
	 * @return
	 */
	Boolean InspectorCheck(Integer detailsId,Integer estate,String cause);
	
}

